# vim: set ft=sh:

install ()
{
    MODULES=" $(checked_modules "drivers/md/*" | grep -v "dm-") "
    BINARIES=""
    FILES=""
    SCRIPT="mdadm"
    # check if a custom mdadm.conf exists
    if grep -q ^ARRAY /etc/mdadm.conf; then
        echo "Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays."
        add_file "/etc/mdadm.conf"
    fi
    #add_binary "${BASEDIR}/sbin/mdassemble" "/sbin/mdassemble"
    add_file "${BASEDIR}/sbin/mdassemble" "/sbin/mdassemble"
    add_file "/lib/udev/rules.d/64-md-raid.rules"
}

help ()
{
cat<<HELPEOF
  This hook loads the necessary modules for any raid root device,
  and assembles the raid device when run.

  If arrays are defined in /etc/mdadm.conf, the file will be used instead
  of command line assembling.
  
  Command Line Setup:
  - for raid arrays with persistent superblocks:
    md=<md device no.>,dev0,dev1,...,devn
    md=<md device no.>,uuid
  - for partitionable raid arrays with persistent superblocks:
    md=d<md device no.>,dev0,dev1,...,devn
    md=d<md device no.>,uuid

  Parameters:
  - <md device no.> = the number of the md device: 
    0 means md0, 1 means md1, ...
  - <dev0-devn>: e.g. /dev/hda1,/dev/hdc1,/dev/sda1,/dev/sdb1
                   or 0900878d:f95f6057:c39a36e9:55efa60a
  Examples:
  - md=d0,/dev/sda3,/dev/sda4 md=d1,/dev/hda1,/dev/hdb1
    This will setup 2 md partitionable arrays.
  - md=0,/dev/sda3,/dev/sda4 md=1,/dev/hda1,/dev/hdb1
    This will setup 2 md arrays with persistent superblocks.
HELPEOF
}
